package ngames.com.sushitv.core;

import android.app.Activity;

import java.util.ArrayList;

import ngames.com.sushitv.entity.Anime;
import ngames.com.sushitv.entity.ButtonHome;
import ngames.com.sushitv.entity.FanMadeContent;
import ngames.com.sushitv.entity.ItemVideo;
import ngames.com.sushitv.entity.SearchPrompt;
import ngames.com.sushitv.entity.UpUser;
import ngames.com.sushitv.entity.UserInfo;
import ngames.com.sushitv.interfaces.TransmitSearchPrompt;

/**
 * Created by Jeffrey on 2016/7/26.
 */
public interface AppModel {
    void setCurrentActivity(Activity activity);

    UserService getUserService();

    /**
     * 获取用户信息
     *
     * @return
     */
    UserInfo getUserInfo();

    /**
     * 取消网络请求
     */
    void cancelRequest(String urlTag);

    /**
     * 视频排行榜
     */
    void videoRank(String type, String cycle, String size, String lastID, final ModelCallback<ArrayList<ItemVideo>> listener);

    void videoRank(String type_cycle, String size, String lastID, final ModelCallback<ArrayList<ItemVideo>> listener);

    void videoRank(String key, String ID, final ModelCallback<ArrayList<ItemVideo>> listener);

    /**
     * fanmode 上的按钮
     */
    void videoCates(final ModelCallback<ArrayList<ButtonHome>> listener);

    /**
     * 热搜
     */
    void hotword(final ModelCallback<ArrayList<String>> listener);

    void searchPrompt(String word, String key, final ModelCallback<ArrayList<String>> listener, TransmitSearchPrompt ts);

    /**
     * 搜索结果
     */
    void AnimeList(String order, String type, String name, String page, final ModelCallback<ArrayList<Anime>> listener);

    /**
     * 搜索用户的结果
     */
    void UserList(String type, String name, String page, ModelCallback<ArrayList<UpUser>> listener);

    /**
     * 视频详情
     */
    void videoDetails(String vsId, ModelCallback<ArrayList<ItemVideo>> listener);

    /**
     * 番剧详情
     */
    void animeDetails(String vId, ModelCallback<ArrayList<ItemVideo>> listener);

    /**
     *
     * */
    void ItemVideo(String id, int videoType, int total, int page, ModelCallback<ArrayList<ItemVideo>> fail);
    //void searchPrompt(String word,final ModelCallback<ArrayList<SearchPrompt>> listener);
    /**
     * 总体的解析
     * */
    //void videoContent(ArrayList<ButtonHome> data, final ModelCallback<ArrayList<FanMadeContent>> listener);
}
